home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hornet Underground 1
/
Hornet Underground.iso
/
demos.faq
< prev
next >
Wrap
Text File
|
1996-05-07
|
71KB
|
1,848 lines
PC DEMOS FAQ, Version 1.63
The official FAQ of the Usenet Newsgroup comp.sys.ibm.pc.demos
This FAQ was last modified on: 4/18/96
Before You Begin:
~~~~~~~~~~~~~~~~~
This is a list of Frequently Asked Questions regarding PC demos.
The information contained in this FAQ is geared mainly toward people
with IBM PCs or compatibles with Internet access, although much of
the information is useful to people asking questions about demos
in general. All questions are answered by the maintainer
(trixter@mcs.com), although corrections and additions by other
parties are encouraged.
If you prefer viewing this FAQ via the World Wide Web, Houman
maintains an HTML verion of the FAQ at:
http://bowler.dacc.wisc.edu/~ghahrema/faq.html
If you're interested in *Amiga* demos, this isn't the FAQ you should
be reading. That FAQ is the alt.sys.amiga.demos FAQ for Amiga by
Hollywood/AXIS (s.m.carless@dur.ac.uk).
After FAQ # 4.0, the questions are not in any particular order
(except for the order they became asked too frequently on
comp.sys.ibm.pc.demos). So, if you're looking for something
specific, use your text-file viewer's case-insensitive "search"
function to find all occurances of it.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+INDEX+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
General:
1.0 What is a Demo?
1.0.1 Where do/did demos come from?
1.1 How/Where do I get a demo?
1.2 What are the best Demos?
1.3 I can't get this Demo to run! What can I do?
1.3.1 What's the best PC system to run a demo?
How to create demos:
2.0 What Compilers do I use?
2.1 Are there any programming references I can read?
2.2 Where can I find some example Source Code?
2.2.1 I'm no idiot--I want some REAL programming info!
2.3 Where can I find some painting programs?
2.4 Where are some music composition programs?
2.4.1 How can I play music modules from my own code?
Demos and the Internet:
3.0 Is there a place on the Internet I can learn more about demos?
3.0.1 What can I talk about on comp.sys.ibm.pc.demos?
3.0.2 What can I *NOT* talk about on comp.sys.ibm.pc.demos?
3.0.3 I'm new at this... How can I post a message without sounding like
a total fool?
3.0.4 Can I erase my old postings?
3.1 What's IRC? Are there any IRC channels established for demos?
3.2 What's the World Wide Web (WWW)? Are there any places to learn
about demos on the WWW?
3.3 Are there any newsletters about demos?
3.4 How can I contact demo people?
Misc. Information Regarding Demos:
4.0 What are the different types of GUS sound cards?
4.0.1 Why is the Gravis Ultrasound sound card supported more
than the Sound Blaster in demos?
4.0.2 Why is the Gravis Ultrasound sound card supported more
than General MIDI?
4.0.2.1 Has MIDI been used in any demos?
4.0.3 Why is the Gravis Ultrasound sound card supported more
than the Sound Blaster AWE32?
4.0.4 Can I emulate the GUS with my Sound Blaster?
4.1 Which video card is best for viewing demos?
4.2 What CDROMs exist with demo-related material on them?
4.2.1 I want to create my own demo or demo-music CDROM... What's involved?
4.3 What's Mode X?
4.3.1 Why is Mode 13 sometimes faster than Mode X?
4.4 What's a Demo Party? What's a Demo Compo?
4.4.1 When and Where are Demo Parties held?
4.4.2 How are Demo Compos judged?
4.5 What are some of the more interesting quotes said in the demoscene?
4.6 What are some of the hidden parts in demos?
4.7 What's a diskmag?
4.8 What's a musicdisk?
4.8.1 How is a musicdisk different from a music pack?
4.9 How can I create or join a demo group?
5.0 Why aren't there any Windows/Windows 95 demos?
5.0.1 Why aren't there any Linux demos?
5.0.2 Are there any demos that run on PC platforms that aren't DOS-based?
5.1 I don't own a PC. Are demos written for other computers?
5.2 What's the fastest PutPixel?
FAQ information:
10.0 Who's contributed to this FAQ?
10.0.1 How can I contact you guys to submit something?
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+DEMOS+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1.0 What is a Demo?
A Demo is a program that displays a sound, music, and light show,
usually in 3D. Demos are very fun to watch, because they seemingly do
things that aren't possible on the machine they were programmed on.
Essentially, demos "show off". They do so in usually one, two, or all
three of three following methods:
* They show off the computer's hardware abilities (3D objects,
multi-channel sound, etc.)
* They show off the creative abilities of the demo group
(artists, musicians)
* They show off the programmer's abilities (fast 3D shaded
polygons, complex motion, etc.)
Demos are an art form. They blend mathematics, programming skill, and
creativity into something incredible to watch and listen to.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1.0.1 Where did/do demos come from?
Demos started as loaders for cracked games (a loader is a small
program that was used to identify who had cracked the game you were
currently (illegally) playing.) This gradually expanded into being
programmed just for fun, or as a way for the programmer to show
off.
You can find more expanded information on the history of demos at:
http://www.cdrom.com/pub/demos/hornet/html/demo_history.html
Also See FAQ 5.1.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1.1 How/Where do I get a demo?
Many demos can be found on local BBSes, but if you have Internet access,
you can easily get them off Internet sites. You need to have ftp access
to a couple of ftp sites. Here are some listings:
ftp://ftp.cdrom.com/pub/demos A huge site in the U.S; carries diverse
programs related to music, graphics,
magazines, programming info/source code.
Some other sites are: (Some of these are mirrors of ftp.cdrom.com)
ftp.luth.se
ftp.sun.ac.za
ftp.uwp.edu
wuarchive.wustl.edu
ftp.arosnet.se
hagar.arts.kuleuven.ac.be
ftp.uni-paderborn.de
Demos are usually in a subdirectory similar to /demo, /demos,
/pub/demos or /pub/msdos/demos.
Here's some more examples: /pub/demos/groups or /pub/demos/alpha
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1.2 What are the best Demos?
Since demos are an art form, no single person is qualified to say which
ones are the best. Since here are plenty available, you can choose.
Here's a list of the most praised demos overall, and are highly
recommended to beginners to the demo scene:
Name: Sound cards supported:
~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
Unreal / Future Crew Sound Blaster | GUS
Panic / Future Crew Sound Blaster | GUS
Second Reality / Future Crew Sound Blaster | GUS
Crystal Dream I / Triton Sound Blaster |
Crystal Dream II / Triton Sound Blaster | GUS
Show / Majic 12 | GUS
Verses / EMF Sound Blaster | GUS
Stars / Nooon Sound Blaster | GUS
These demos are available in the ftp sites listed in the above
FAQ 1.1, "How/Where do I get a demo?". You can also grab them
directly off of PC Demos Explained (see FAQ 3.2) on the World Wide
Web.
For continuing reports on what people think is a good or bad demo,
you can monitor what people say on the Internet (see FAQs 3.0-3.3).
The semi-weekly newsletter DemoNews (see FAQ 3.3) also rates demos
on a five-star system.
Another way to find good demos is to check the compo (competition)
results from various Parties. The largest party is called The Party
held each year around Christmas. Another big party is Assembly, held
in the summer and reputed to show the best demos. Here's the top three
from each:
-THE PARTY-
TP93 PCDemo
1. Untitled by Dust
2. The Good, the Bad, the Ugly by S!P
3. Cardiac by Infiny
--
TP93 PCIntro
1. Cyboman by Gazebo
2. Symbology by Admire
3. Blackzone by Masque
TP94 PCDemo
1. Project Angel by Impact Studios
2. No by Nooon
3. Contagio by The CoExistance
--
TP94 PCIntro
1. Cyboman 2 by Complex
2. Peripheral Vision by Valhalla
3. Finkel by Jamm
TP95 PCDemo
1. Caero by EMF & Plant
2. Dream by Jamm
3. Reanimator by Rage
--
TP95 PCIntro
1. Lasse Reinbong by Cubic Team
2. Illumination by Yodel
3. Intro by Cascada
-ASSEMBLY-
ASM93 PCDemo
1. Second Reality by Future Crew
2. Optic Nerve by Silents
3. Elements by Xography
--
ASM93 PCIntro
1. Eclipse by EMF
2. Tangle by Epical
3. Debut by Darkzone
ASM94 PCDemo
1. Verses by EMF
2. Holistic by Cascada
3. Heartquake by Iguana
--
ASM94 64KB Intro
1. AirFrame by Prime
2. Space Jam by Fascination
3. Fyvush by Jamm
--
ASM94 4KB Intro
1. Stoned by Dust (not on ftp.cdrom.com?)
2. Spam4kb by Tobial Gloth
3. Optimize by Feenix/Epical
ASM95 PCDemo
1. Stars... by Noon
2. Psychic Link by Juice
3. DX Project by RealTech
--
ASM95 64KB Intro
1. Drift by Wild Light
2. Stickman's World by Coma
3. Bill G Force by Complex
--
ASM95 4KB Intro
1. Animate by Schwartz
2. Heaven by EMF
3. Crashtest by J-P/Rebels
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1.3 I can't get this Demo to run! What can I do?
First of all, the problem may be your operating system or
environment. You can expect to have some problems if you are
running:
Windows 3.1
Windows 95
OS/2 2.X, 3.X
In the case of Windows 3.1, exit windows via Program Manager's
File|Exit menu; if you're running Windows 95, shut down to "MS-DOS
mode"; if you're running OS/2, try the demo in a full-screen session
with "Vertical Retrace Emulation" turned OFF.
If that doesn't work and you're not running actual DOS, then you
must reboot your machine and boot DOS 5.0 or later. For instance,
you *absolutely cannot* run demos under:
Windows NT
SoftPC (Macintosh MS-DOS emulator)
This is because demos sometimes rely on hardware tricks to achieve
their effects, and these operating systems do not allow direct
access to the hardware. In fact, these operating systems must
*emulate* DOS, so the demos, if they did run, would run twice as
slow anyway.
If you boot actual DOS and it *still* won't run, you might be
hitting the "Protected Mode" issue: Many complicated demos
(high-speed specialized graphics, for instance) usually work best
when they take over the entire machines' hardware. This can
complicate running the demo on different machines ("It worked on
my friend's machine, why not mine?" and so on). Furthermore,
since a couple of years ago, demo programmers started to use more
and more of their own protected mode programming routines instead
of using the ones already running on the system. So usually, if
you have QEMM386, 386MAX, or EMM386 installed (protected mode memory
managers), those demos would not run. (This does not mean all
demos won't run on today's memory managers--all Future Crew demos,
for instance, run just fine.)
So, the solution is to boot your machine without a protected-mode
memory manager. Personally, we suggest you do a clean boot by
hitting F5 when you see the message "Starting MS-DOS" (or F8 if
you're running Windows 95), or to make a multiple config menu system
that includes a "bare-bones" config.sys and autoexec.bat configuration.
Here's what a "bare-bones" configuration looks like:
Your CONFIG.SYS should look like:
DEVICE=C:\DOS\HIMEM.SYS
REM Some programs require HIMEM in conjunction with their custom
REM protected mode memory managers
Your AUTOEXEC.BAT should look like:
SET BLASTER=A220 I5 D1 H5 T6
REM if you have a Sound Blaster sound card; make sure you use the
REM right settings, the above is an example
SET ULTRASND=240,7,6,7,5
REM if you have a Gravis Ultrasound card; make sure you use the
REM right settings, the above is an example
C:\ULTRASND\ULTRINIT
REM if you have a Gravis Ultrasound card
...and any other sound card initialization programs. (These will depend
on your sound card, of course.)
That's it--nothing else. Try running the demo; with nothing in
its way, it should work.
If you *absolutely must* have some other programs in your CONFIG.SYS
or AUTOEXEC.BAT in order for your computer to run, then try having
them take up as little memory as possible, if they provide the
option.
Note: Some programs need EMS to run. For that, you *need* a memory
manager. To do this, add this line after the "HIMEM.SYS" line in
the above CONFIG.SYS example:
DEVICE=C:\DOS\EMM386.EXE RAM
Also, a demo might complain about not having enough free DOS memory. To
fix that, add this line after the "HIMEM.SYS" line in the
above CONFIG.SYS example:
DOS=HIGH
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+
1.3.1 What's the best PC system to run a demo?
Ironically, a *slower* system is better for appreciating demos,
because you can really see how good the code is. One of the great
things about the early demoscene was how 3D shaded objects were
displayed at 60 or 70 frames per second--on a 16 MHz machine. You
just couldn't ignore how fast the code was.
Nowadays, the best machine for appreciating demos is probably an
80486-based PC running at 66 MHz (a 486/66). It's slow enough so
that you can appreciate the coding, but fast enough so that the
newer generation of demos won't be laboriously slow. It's also a
very compatible system; most demos will run on a 486. This is
because many older demos fail completely on a Pentium due to timing
issues, and a 386 is sometimes too old and might has flaky components.
If speed is an issue, then get a Tseng Lab's ET4000-based card.
If compatibility is an issue, then a Cirrus Logic or S3 based card
might be good. See FAQ 4.1 for more information.
If you want to appreciate the sound, one of the Gravis Ultrasound
family of cards (see FAQ 4.0) is required, as over 90% of all demos
support it, and many *only* support it. As to *why* many only
support it, see FAQ's 4.0.1 to 4.0.3.
When it comes to RAM, the more the better. :)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-CODING DEMOS-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.0 What Compilers do I use?
In order to make a demo, you need to know how to program.
Self-explanatory, I guess, but we still needed to address it. :-)
You need to know a common language that lends itself to programming DOS
programs, like Assembler, Pascal, or C/C++.
Some Assembler compilers are:
Turbo Assembler 3.1 or above ("TASM")
Microsoft Assembler ("MASM")
Some C/C++ Compilers are:
Watcom C++ 10.5
Borland C++ 3.1, 4.0, 4.5
Visual C++
Turbo C/C++
GNU C for DOS (FREE 32-bit C compiler! You can get it at
ftp://ftp.idsoftware.com/djgpp/v2)
Some Pascal Compilers are:
Turbo Pascal 6.0 or 7.0
Borland Pascal 7.0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.1 Are there any programming references I can read?
ASSEMBLER:
* Assembly Language for the IBM-PC 2nd Edition, by KIP R. IRVINE
+ Mastering Turbo Assembler by Tom Swan (Hayden Books, ISBN
0-672-48435-8).
* PC System programming, Abacus 1990, by Michael Tischer
* Zen of Code Optimization, by Michael Abrash
C/C++:
* A Book on C, programming in C, Third Edition Kelley/POHL
VGA:
* EGA / VGA a programmer's reference guide, 2nd edition, Bradley Dyck Kliewer
* Programmers guide to EGA and VGA cards, 3rd Edition, Addison Wesley,
by Richard Ferraro
Graphics:
* Computer Graphics: Principles and practice, 2nd edition, Foley, Van
dam, Feiner, Hughes
* The "Graphics Gems" series, currently volumes 1 through 5 (first one
edited by Glassner). These books are full of useful tricks and
algorithms, for all types of graphics related stuff from 3D to
image processing
Demo Programming:
* PC INTERDIT (French version), PC Underground (English version)
by Boris Bertelsons and Mathias Rasch from Micro Application/Abacus/Data
Becker
Magazines:
* Dr. Dobb's Journal
* Game Developer
* PC Techniques
You can also consult The Programmers' Booklist, which is a list of
books, magazines, emags, digital sources, WWW pages, etc. of
programming resources. This can be found at
http://intranet.ca/~sshah/booklist.html and
ftp://ftp.intranet.ca/usr/synapsis/progbook.lst
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.2 Where can I find some example Source Code?
You can find plenty of source code for graphic effects, sound routines,
and other examples in the following ftp sites:
ftp://ftp.cdrom.com/pub/demos/code
Included are subdirectories which are categorized depending on
the nature of the effects. Most of the interesting stuff is
under graph and demosrc.
ftp://x2ftp.oulu.fi/pub/msdos/programming
Same as above, but different subdirectories, of course.
Also a fantastic wealth of programming information.
As for CDROM's, the Nightowl CD rom series, Software Vault CD's &
Emerald CD's have been suggested as a source of source code. :)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.2.1 I'm no idiot--Where can I find some REAL programming info?!
Okay, okay--you don't have to yell. :) The sites listed above are
fairly complete, but some readers of this FAQ have suggested some
other things to look at if you didn't know about them:
- Hardware descriptions of different hardware, like Intel processor
optimizations, are at http://www.intel.com/IAL/processr/ap500ovr.html
- "Real-time" methods of Phong shading can be found at
ftp://ftp.cdrom.com/pub/demos/code/graph/phong
- Graphics algorithms can be found in the usenet newsgroup
comp.graphics.algorithms and in their FAQ.
- The PC Games Programmers Encyclopedia has lots of juicy tricks, and
can be found at ftp://x2ftp.oulu.fi/pub/msdos/programming/gpe/pcqpe10.zip
- Mode X programming information and libraries can be found at
ftp://x2ftp.oulu.fi/pub/msdos/programming/xlib
- The PC Games Programing Encyclopedia is a good collection of
documents on VGA programming, as well as other issues of game and
demo programming. There are two versions available:
DOS executable version:
ftp://x2ftp.oulu.fi/pub/msdos/programming/gpe/pcgpe10.zip
Windows Help format version:
ftp://x2ftp.oulu.fi/pub/msdos/programming/gpe/wpcgpe10.zip
There are also many other technical documents on the Internet,
including:
DOSREF34.ZIP : Programmer's technical reference DOS by Dave Williams
INTDOS44.ZIP : MSDOS Interrupt List by Ralph Brown
HELPPC21.ZIP : Help PC by David Jurgens
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.3 Where can I find some painting programs?
Most demo coders use Deluxe Paint ][e by Electronic Arts. This
program is out of print for the IBM, but you can find it in some
bargain bins or you can purchase it directly from Electronic Arts.
If you own an Amiga, you can easily purchase Deluxe Paint IV for
the Amiga and use that.
Another set of DOS users argue that Animator PRO 1.3a by Autodesk
is the best bitmap illustration program to use. For photographic
bitmap editing, Adobe Photoshop is easily one of the best programs;
for "natural bitmap" creation, Fractal Design Painter is the best.
There is a freeware program called Satan Paint, which is by the
same guys as Abuse (cool shareware game) - you might find it at
ftp.cdrom.com /pub/gamaes/abuse.
There are some good shareware painting programs as well, such as
Paint Shop Pro 3.11 for Windows, and Neopaint for DOS. You can
find them at:
Paint Shop Pro: ftp://ftp.cica.indiana.edu/pub/pc/win3/desktop/psp30.zip
Neopaint: ftp://x2ftp.oulu.fi
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.4 Where are some music composition programs?
For music, most demo groups use "music modules", a format that
originated on the Amiga. MODS vary greatly in formats on the PC,
however; the standard formats right now are S3Ms; some lesser-used
formats are MTM and XM, with a newcomer IT gaining popularity.
In order to create a module, you need a program called a "Tracker". The
best ones so far are:
Name Loads Saves
~~~~ ~~~~~ ~~~~~
Fast Tracker II 2.06 by Triton MOD, XM, S3M MOD, XM
Scream tracker 3.21 by Future Crew MOD, S3M, STM MOD, S3M
MultiTracker 1.01 by Renaissance 669, MOD, MTM MTM
Impulse Tracker MOD, S3M, IT, MTM S3M, IT
Velvet Studio MOD, S3M, AMS, XM AMS
You could find these trackers in
ftp://ftp.cdrom.com/pub/demos/music/programs/trackers
FT2.06, MultiTracker, and ST3.21 are fully functional (FT2.06 is
shareware <$20>). Velvet Studio is crippled (no save ability).
For more info on the different types of PC MOD formats, check out PC
Demos Explained--specifically, at this URL:
http://www.cdrom.com/pub/demos/hornet/html/demo_reference.html
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.4.1 How can I play music modules from my own code?
There are several libraries for playing music on several demo sites.
One place to get them is ftp://ftp.cdrom.com/pub/demos/code/sound;
in there, you'll find many libraries, including:
Name filename formats language
~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~~~
MIDAS 0.40 mdss*.zip most modules - XM ASM, PAS, C
MIDAS 0.5x mdss*.zip most modules + XM C
Mikmod 2.xx mik*.arj most modules + XM C
Bells, Whistles bwsb*.zip most modules - XM ASM, PAS, C
FMODDOC2 fmoddoc2.zip most modules - XM C
CapaMOD 3.xx cmod3xx.zip most modules + XM C, Basic, PAS, ASM
Any of the above libraries are more than enough to play modules on
any sound card (such as Sound Blaster/Pro, Sound Blaster 16, Pro
Audio Spectrum/+/16, and of course, the Gravis Ultrasound). FMODDOC2
contains *fantastic* and *complete* information on file structures,
period values, information, etc. It's highly recommended if you
want to write your own player.
(Note that these libraries are for playing MODs or MOD-related
formats, and do not play MIDI music. For that, you could try the
widely available Miles Drivers; or, if you only have a GUS, you
could use UltraMID or the GUS SDK. See the GUS FAQ for more info.)
+-+-+-+-+-+-+-+-+-+-+-+-+Demos and the Internet+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.0 Is there a place on the Internet I can learn more about demos?
There are several, actually:
For files or information: ftp://ftp.cdrom.com/pub.demos
For discussions or news, you have two choices, Usenet and IRC:
IRC: #coders (programming talk) or #trax (music talk)
Usenet: comp.sys.ibm.pc.demos
For General Info on the WWW, you can always try:
http://www.cdrom.com/pub/demos/hornet/html/demos.html
(Note: Although this newsgroup has "demos" on the end of it, it
does not talk about subjects such as GAME DEMOS. For those, look
in series comp.sys.ibmpc.games.XXXXX)
comp.sys.ibm.pc.demos is a nice place to ask questions about demos
in general, so if you have any general questions concerning demos,
ask here first. As such, we'll talk about comp.sys.ibm.pc.demos
first, then IRC and the WWW later in this document.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.0.1 What can I talk about on comp.sys.ibm.pc.demos?
People post various things. Some concerning Demos, others about
technical questions, such as:
"How do I code Gouraud Shading?"
"How do I code Plasma/Copper bars, etc.?"
"Does anyone know how to contact xxx?"
Other misc. postings are about new programs coming out. For example,
if you coded a demo or made some of your source code public, let
us know about it here.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.0.2 What can I *NOT* talk about on comp.sys.ibm.pc.demos?
Some posts come up so frequently that many of the members of the
newsgroup are getting tired of hearing them. Here's a list of subjects
to avoid:
"GUS is better than SB!" These arguments should be posted
"SB is better than GUS!" on a sound card group like
comp.sys.ibm.pc.soundcards.advocacy,
not here.
"What's the fastest PutPixel?" This is asked way too many times.
(It is covered in this FAQ as
question 5.2, BTW)
"mY dEm0 t0TalLy rUleZ!" "Elite" postings are usually the
mark of a "lamer", and are ignored.
"PC SUCKS!" Usually, these are posted by people
who have left their terminal
unattended :), or by Amiga/Atari
advocates.
These kinds of posts usually bring lots of replies--and they're
not friendly ones!
Also, comp.sys.ibm.pc.demos is NOT a binary newsgroup! Many people
in third-world or poor countries get this newsgroup the only way
they can-- delivered directly to their home computer. A binary
file in comp.sys.ibm.pc.demos can easily cost them a lot of money!
So, please do not post any binaries. If you want to upload a binary
file where many other demo people can get at it, however, look in
the above section about ftp sites--you can upload there as well,
usually in /incoming directories, like
ftp://ftp.cdrom.com/pub/demos/incoming/demos
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.0.3 I'm new at this... How can I post a message without sounding like
a total fool?
- Be yourself.
- Use common sense; sometimes a reply to the
original sender would be much better than posting it into
comp.sys.ibm.pc.demos if there's already a ton of replies.
- Flaming (sending mean messages to) other people will get you
nowhere.
- Avoid long signature files.
Another good practice to follow when posting is to edit the original
message and answer appropriately; i.e. don't just reply back with
*all* the text of the previous senders already shown. It is usually
a hassle to go through 5 pages of old replies, and then 1 sentence
of answer.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.0.4 Can I erase my old postings?
ONLY IF YOUR NEWSREADER PROVIDES THE OPTION TO DELETE POSTS.
Otherwise, you can't. Once you've posted something, it is posted
to every newsgroup it was bound for, and some people may see it
before you cancel it. So, think before posting a message. If you
post something that you realize was a mistake, cancel it (if you
can) and post another one, right away, and write in it what you
really meant. That usually stops people answering another 50
messages to the (incorrect) original.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.1 What's IRC? Are there any IRC channels established for demos?
IRC stands for Internet Relay chat. You can find more info about
it in newsgroups such as alt.irc, etc. With IRC, you can enter
"channels" (like a CB Radio) and discuss things with people located
all around the world in real time. It is a good place to stop by
and ask questions.
As of this writing, the main two channels concerning demos are
#coders Concerning PC Demo coders
#trax Concerning PC Music Makers
Note: #trax moved to Anothernet, so if you join #trax and nobody
is there, type "/server neato.org" or the name of another Anothernet
server, like peak.org, and then try again.
There are other channels dedicated to demos and democoding:
#daskmig Lots of chat about demos
#nlcoders The Dutch and Belgian scene
#demofr French chats about demos
#codersnl Dutch chats about democoding
#amigascne Amiga demoscene chat
Also, lots of groups have their own channel while they're online,
like #massive and #natives. Finally, some parties have their own
channel during the party, like #asm95, #naid, etc. Feel free to
join at any time... it is fun, and fairly addicting!
For those of you who have been having problems connecting to
AnotherNet (the IRC network that #trax has moved to and #coders is
trying to move to) recently, I finally managed to get my hands on
the little script that fixes the problem.
Here's what to do:
Start your IRC client (this script is written for ircII). Load the
script. Connect to the server.
Here's the script:
(begin script)
# Script to fix irc~2.2.9 to work with AnotherNet "initping".
on ^raw_irc "PING :%" {quote PONG $1-}
on ^raw_irc "% PING :%" {quote PONG $2-}
(end script)
Just take those 3 lines, and save them as "initping.irc" ... and add a
line to your .ircrc file. Should work perfectly then.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.2 What's the World Wide Web (WWW)? Are there any places to learn
about demos on the WWW?
Created by university professors in CERN (Switzerland), WWW is a
network of hypertext documents that can connect to other hypertext
documents. Accessible by WWW "browsers", such as Mosaic and
Netscape, it allows you to connect to WWW pages, where you can read
articles, look at pictures, download files, etc. In short, if you
haven't tried the WWW yet, you're missing a whole new aspect of
the Internet.
If you're looking for a browser, try one of these three:
Mosaic, the original WWW browser, can be found in
ftp://ftp.ncsa.uiuc.edu and exists for Windows, Mac and Unix.
Netscape, a very nice browser that supports additional layout
commands, is available in ftp://ftp.netscape.com
Lynx is a text-mode browser that you can use on any terminal.
Many demo groups in the demo scene have their own WWW home pages. It
would be too long here to list all of them, however Trixter has a
homepage which explains about PC demos and lists many, many demo
resources. You can access this page at:
http://www.cdrom.com/pub/demos/hornet/html/demos.html
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.3 Are there any newsletters about demos?
Other than the irregularly-released diskmags (see FAQ 4.7), there
are two semi-weekly newsletters produced for the demo scene:
DemoNews and TraxWeekly.
DemoNews is both a list of new files uploaded to ftp.cdrom.com
(Hornet's home base and the largest demo site on the Internet),
news, interviews, and articles that pertain to the demo scene.
DemoNews was started by Dan Wright (Pallbearer / Toxic Zombies &
Hornet) and is continued by the Hornet demogroup, led by Snowman.
TraxWeekly is similar to DemoNews, but is dedicated to the music
scene (see FAQ 2.4). It's called "TraxWeekly" because it stemmed
from the IRC channel #trax (see FAQ 3.1).
Here's how you can subscribe to either magazine (the following is
an excerpt from TraxWeekly):
_____How to subscribe to TraxWeekly
TraxWeekly subscriptions are free, and can be requested in this
matter:
Send mail to: listserver@unseen.aztec.co.za
And put in the message body: subscribe trax-weekly [your real name]
If you want to unsubscribe to the list, mail the same address and write:
unsubscribe trax-weekly
TraxWeekly is also available on ftp.cdrom.com:
/pub/demos/incoming/news/ for the most recently uploaded version, or
/pub/demos/news/traxw/ for all of the back issues.
DemoNews is published approximately once a week, and can be emailed
directly to you. According to each issue of DemoNews, here's how
you can subscribe:
_____How to subscribe to DemoNews
Mail to : listserver@unseen.aztec.co.za
Body : subscribe demuan-list [first_name] [last_name]
The listserver will send DemoNews to your e-mail's return address.
_____Back Issues
Older issues of DemoNews can be located under /demos/hornet/demonews.
Newly released issues of DemoNews are posted to /demos/incoming/news.
_____Having Trouble?
If you have difficulty with the listserver, feel free to write Snowman
at r3cgm@cdrom.com for problems with the DemoNews list.
Finally, someone pointed out that I didn't mention the RAW mag
on-line. This is because I don't have information on it; I expect
you can search the World Wide Web for it.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.4 How can I contact demo people?
The easiest way to contact a demo person is to email them; it costs
the both of you little money, and avoids huge time differences.
If you can't find a person's email address, then you can try finding
them on IRC (see FAQ 3.1), posting a message looking for them on
comp.sys.ibm.pc.demos (see FAQ 3.0), or checking the "demo contact
list" that is maintained by rob@span.com, although it is months
old.
+-+-+-+-+-+-+-+-+-+-+-+Misc. information about Demos+-+-+-+-+-+-+-+-+-+-+-+
4.0 What are the different types of GUS sound cards?
There are four currently available, and their major differences
are mostly in their recording abilities:
Name Record Playback
~~~~ ~~~~~~ ~~~~~~~~
Gravis Ultrasound 44.1KHz, 8-bit stereo 44.1KHz, 16-bit stereo
Gravis Ultrasound MAX 48.0KHz, 16-bit stereo 48.0KHz, 16-bit stereo
Gravis Ultrasound ACE Cannot record sound 44.1KHz, 16-bit stereo
Gravis Ultrasound PnP 48.0KHz, 16-bit stereo 48.0KHz, 16-bit stereo
The Gravis Ultrasound is not manufactured anymore; the MAX retails
for about $179 US, and the ACE retails for about $99 US. Street
(actual) prices are usually 20% to 40% lower than retail prices in
the US.
The Gravis PnP is a Plug-and-Play card mainly designed for
Plug-and-Play operating systems, like Windows 95, but it will work
with non Plug-and-Play operating systems as well. For programs
that don't support it directly, it acts just like a normal GUS if
RAM is added to it. The PnP has no RAM on it (but has the expansion
capability), and the PnP Pro has 512K RAM. Also, unlike the previous
GUS cards, the PnP is based on the Interwave sound chip from AMD,
and has General MIDI capability built into the card. With RAM
added, you can also load General MIDI instruments off of disk, just
like the old GUS cards. Finally, the GUS PnP is more Sound
Blaster-compatible than previous GUS cards.
The PnP retails for $179.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.0.1 Why is the Gravis Ultrasound (GUS) sound card supported more
than the Sound Blaster in demos?
Several reasons:
- The GUS sounds much better than the Sound Blaster because
it can play back 32 channels of stereo digitized sound at
once, while the Sound Blaster Pro/16 series can only play
back 2 channels.
- Because the GUS can play back multiple channels, there
is no need for mixing several channels into one (like
playing MODs on the Sound Blaster series), so much less
CPU time is utilized for playing music. This means more
CPU time is available for graphical effects, calculation,
etc.
- Many demo coders consider the GUS easier to program.
- Many demo scene members have gotten free GUS cards in
exchange for programming demos/games/utilities that
specifically use the GUS.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.0.2 Why is the Gravis Ultrasound sound card supported more
than General MIDI?
While General MIDI has much higher sound quality instruments, the
number of instruments (and the instruments themselves) are fixed
in nature; that is, you cannot change any of them. (If you don't
like the sound of a particular piano instrument, for example, you're
stuck with it.) MODs, and MOD-like formats (see "music modules"
earlier in this FAQ) allow the composer to use whatever instruments
he feels like.
Also, General MIDI boards differ greatly in price and sound/instrument
quality, and a song on one GMIDI board might not sound the same on
another.
Finally, General MIDI boards usually cost over $200 for a good
quality one--which is usually unattainable, given the budget of
most demo scene members.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.0.2.1 Has MIDI been used in any demos?
Believe it or not, it has. Superunknown by Five And Then Some (TG '94)
used MIDI files and custom GUS patches for their music. And The
Phony Coders only supported the Roland MT-32 in their demos. As
for FM, it's used in a lot of places, but it's neiter MIDI, nor
composed in a MIDI sequencer; there are custom FM trackers for
that.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.0.3 Why is the Gravis Ultrasound sound card supported more
than the Sound Blaster AWE32?
Even though the SB Awe32 is very similar (and in some ways, superior)
to the GUS, it is not being accepted well by the demo community,
mainly because they fail to provide low-level information about
the card for free. Also, up until recently, the SB AWE32 cost
almost 50% more than the GUS (this has changed, however). But
since the GUS was around over 3 years more than the SB AWE32, the
GUS has much more "market saturation" and existing free source
code. (Although, to be fair, Renaissance originally disabled the
drivers to find out what was going happening, and Gravis took the
hint and released a development kit.)
Some coders have reverse-engineered the drivers and come up with
C source code than can not only drive the SB AWE32, but play MODs
and XMs on it, even with echo, chorus, and reverb effects. To find
this info, visit ftp://ftp.cdrom.com/pub/demos/code/sound. There
are also some trackers that support the AWE32: The Ultimate Tracker
and RamTrack. You can find these from ftp.lysator.liu.se and other
sites.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.0.4 Can I emulate the GUS with my Sound Blaster?
No. The GUS performs so many functions over the Sound Blaster that
writing an emulator would be extremely difficult. Couple this
information with the fact that many demos take over the hardware
entirely, and you realize it makes writing an emulator impossible.
Well, that's not entirely true. It IS possible with DPMI and IO
permission bitmaps. It shouldn't take up more than 20% CPU time on
a Pentium [for 32-channels at 44kHz], but most people would consider
this unacceptable.
Of course, a *hardware* emulator for the GUS exists. :) It's
called the GUS ACE (see FAQ 4.0.1), and was designed to co-exist
with your existing sound card. They're only about $80 in the US.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.1 Which video card is best for viewing demos?
The nature of demo programmers dictates that they program the
coolest stuff with the crappiest hardware. In other words, most
(if not all) demos require a register-compatible VGA card. For
the best experience, you need as fast a video card as possible,
because most video cards are the main bottleneck when displaying
fast graphics (the PC's memory is much faster than the video card's
memory).
If your PC has a VESA Local bus (VLB) or PCI bus (PCI), then make
sure you're using a VLB or PCI card, as the speed of these cards
are at least twice as fast as a standard ISA card.
Try not to buy a video card unless you've tested it yourself on
the store's computer--preferably with a demo or action game, which
update the video card's memory over 30 times a second.
If you can't do that, then generally, get a video card based on
either the Cirrus Logic, S3, or Tseng ET4000 chipset. These chipsets
are very fast. (Many older demos use special hardware tricks that
might only work on an ET4000; the ET4000 is considered the demo
"standard".)
The Hercules Stingray uses the ARK-xxxx series chips. The Hercules
Dynamite Pro/Power use the Tseng ET4000 W32p chipset. They are
probably the fastest implementation of that chipset. The Stingray
w/ it's ARK chipst is a tad faster under DOS and a bit more noticeably
faster under windows than the Dynamite series.
Finally, several people have recommended the newer revision of the
Matrox Millenium, not only because of it's fast DOS performance,
but because it implements the VESA 2.0 specification in hardware,
which several hi-res demos are starting to support. If the card
doesn't have VESA 2.0 in BIOS, it can usually be emulated by a
general-purpose VESA program, like UNIVBE by Scitech Software.
For a current list of video benchmarks, you might want to inquire
on the newsgroup "comp.sys.ibm.pc.hardware.video".
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.2 What CDROMs exist with demo-related material on them?
For info on CDROMs with demos and demo-music files on them, email
Dan Wright at dmw@gate.net to get a more-or-less complete list of
them. If Dan is unreachable, you can get a copy of this list at
http://www.mcs.com/~trixter/docs/scenecds.txt
Walnut Creek CDROM might be publishing quarterly updates of /pub/demos
on ftp.cdrom.com; email r3cgm@cdrom.com for more information.
The following is a mini-review of some of Assembly Organizing's
party CD's submitted by Hugo Habets:
On the cover of the CD-box is a picture of a monster and
a boy. The monster is crying out and the boy is crying.
At the top we can read "This CD is full of the best demos,
music and graphics for PC and Amiga". At the bottom we
can read (in bigger letters) "an ASSEMBLY Organizing
production". At the back of the cover it's the same picture
as on the front of the cover, only now it's a bit red-like
with some text in small font and 6 pictures from the compos
covering it.
Very suprizingly, the first of those 6 pictures again is
the picture of the monster with the boy. I don't recognize
the second picture (not much time to search for it on the
CD).. the third picture is from the CD menu (the Party 4
CD menu is very much like the Asm'94 CD menu, but with some
improvements). The 4th picture shows the sea (probably
from the graphics compo), the 5th picture is from the
Valhalla intro. The last picture shows a face, a chess-board,
mountains and a tree and is probably from the graphics
compo also. The publisher seems to be 'Romware'
The front picture can be taken out of the CD cover and then
magicly turns into a little book. Most of it is about the
menu (or the GUI as it is called in the book).
page@ie2.u-psud.fr reminded me of this:
> I know another Audio CD :
> Dr Awesome and Fleshbrain's "hoBbiTs & SpACesHipS"
> by Bjorn A. Lynne and Seppo Hurme
> from DENS DESIGN/CRUSADERS and Audio Visual Magic
> (c) 1992
> with 12 songs and a time of 71'02".
>
> The ACE Demo Collection Vol. 1 & 2 costs 99 FF.
> And the number 3 will arrive in december 1995, and the 4th in july 1996.
Rene V. C. (Zteel of Diffusion) also had this to add:
>Here are some of the ones I can remember.
>
>Assembly '94
>The Party '94
>ACE #1
>ACE #2
>
>Btw: for info on the ACE cd's, write to yvon@sept.fr
>
>Anyway, the 'The Party CD' costed 120FIM at Assembly, filled with all
>releases from The Party 1994, and the best from Abduction and Juhla I
>think it was. The Assembly CD, well, has everything from Assembly
>1994, along with a bunch of movies and animations.
>
>The ACE's costs aprox. 80F .. (french franc)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.2.1 I want to create my own demo or demo-music CDROM; what's involved?
Usually, most demo coders don't want their productions put on a
CDROM without their permission, because they feel that the person
selling the CDROM's makes profit off of their work. So, the only
true demo CDROMs that have been produced so far are by Dan Wright
(dmw@gate.net), who manufactures and sells them -- while all the
time *breaking even*. This is important: He doesn't lose money,
but doesn't make any money either, so no one feels taken advantage
of. What a cool guy. :)
Dan Wright wrote an excellent article on creating your own CDROM;
this article is part of the "demobook" on the Freedom CD. You can
also email him to get a copy.
As to how to create an Audio CD of mod-style music, Dan Wright
offers: "We took the modules and pumped them through the Gravis
Ultrasound...grounded the computer to the stereo, funneled the
sound through a "DSP" that added reverb(hall), flange, and all that
other stuff I got a few complaints on. From there the signal made
its way through an equalizer, then the master receiver and finally
to the SONY DAT player. Once the DAT was made I paid someone $175
to create a CD-R with all the time stamping and music equalization."
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.3 What's Mode X?
Mode X (and its variant, Mode Y) is the slang term given by Michael
Abrash to the two most common unchained 256-color VGA video modes
used in demos. "Unchained" comes from the method of "unchaining"
the video memory in order to access it all--normal mode 13 (320x200x256
colors) is "chained". Mode X is 320x240 and Mode Y is 320x200.
Unchaining the video memory has a slight disadvantage: The memory
organization is different, and is harder to program for (it is
organized in "planes of bytes", which is harder to work with than
the standard linear format of normal mode 13). However, the
advantages are numerous; when you unchain video memory, you get:
- More video modes on a standard VGA, from 320x240 (square
aspect ratio) to 360x480 (high res with 256 colors on any
monitor) and others
- The ability to pan across all of video memory, as if it
were a big virtual page
- Horizontal split screen, with the lower half not affected
by the panning of the upper half
- 2 or more video pages (by "panning" to an area of video
memory one screen length down)
- The ability to write up to four pixels at once with just
one write (great for polygon filling)
In the "old days" of IBM PC demos, Mode X programming was the only
way to get any speed out of the slow ISA bus and slow video cards
of the time. Nowadays, normal mode 13 is making a comeback because
of two things:
- Texture mapping, "Phong" shading, and other modern effects
are faster to do in normal mode 13 than in Mode X
- Local-bus video cards (VLB and PCI) can move video memory
much faster than before, and are becoming quite common.
As mentioned in question 2.2.1, excellent Pascal and C libraries
for programming ModeX are at ftp://x2ftp.oulu.fi/pub/msdos/programming
under all the "xlib" directories. You can also pick up the Mode X
FAQ, maintained by Zoombapup // CodeX. While it's not known if this
is being maintained anymore, you can pick up a version of it at
http://www.mcs.com/~trixter/docs/modex.faq
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.3.1 Why is Mode 13 sometimes faster than Mode X?
People are sometimes told that blitting is faster than flipping
pages in Mode X. That depends completely on how intelligent your
drawing routines are.
If you draw completely to an off-screen buffer, then move that
buffer to display memory to display it, then yes, a simple rep
movsd will be faster than copying to Mode X, because with Mode X,
you have to (in a simple case) copy 16K, then write a couple of
bytes to VGA to switch planes, then copy another 16K, etc. until
all 64K is done.
Here's some quick examples t:
procedure move_repmovsd(src,dst:pointer;size:word); assembler;
{best for moving off-screen buffers to Mode 13 display memory for VLB or PCI}
asm
push ds
les di,dst
lds si,src
mov cx,size
shr cx,2
db $66; rep movsw
pop ds
end;
Procedure copyvscreentox(sourceseg,destseg,count:word);assembler;
asm
push ds
mov ds,[sourceseg]
mov es,[destseg]
sub si,si
sub di,di
mov bl,1
@loop1:
mov dx,3c4h
mov ah,bl
mov al,2
out dx,ax
mov cx,[count]
shr cx,3
@loop2:
mov al,[ds:si]
mov ah,[ds:si+4]
mov [es:di],ax
add si,8
add di,2
dec cx
jnz @loop2
sub si,[count]
inc si
sub di,di
shl bl,1
cmp bl,16
jne @loop1
pop ds
end;
So you can see how much more is involved with copying Mode X screens.
Now, if your drawing routines (poly fillers, etc.) were smart enough
to use Mode X's ability to write out four bytes at a time with a
single write (enable all four write planes to do this), then a Mode
X implementation would *easily* be faster, and in addition, be
flicker-free due to the nature of flipping video pages.
Like I said, it completely depends on what you're doing. If you're
doing a starfield, you should use *neither* of the above methods,
since a couple of port writes for each star is just a silly waste
of cycles. For that, you'd wait for retrace, then erase all previous
stars directly in video memory, then draw. Even better, you wouldn't
have to wait for retrace if you were erasing each star as you
plotted the new one, as that's almost imperceptible.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.4 What's a Demo Party? What's a Demo Compo?
A Demo Party is just that--a party celebrating demos. They're
usually on the small side; no more than 50 people.
A Demo "compo" (Finnish slang for "competition"), on the other
hand, is a competition where prizes are given to the best demos
and intros. While parties are small, compos are large. Compos
are usually over 400 people (the largest are The Party and Assembly,
which usually host over 3500 people), and are mostly held in schools
because they're easy to rent and don't cost a lot of money.
Activites are held all 24 hours of the day, so it's difficult to
get sleep and not miss something cool. As a result, many people
simply don't sleep during a compo. :-)
After a party or compo, some groups put out "party reports", where
you can see pictures taken at the party/compo and read text describing
the results of the compo, and see pictures of events and people at
the compo. One place you can find party reports is
http://ftp.cdrom.com/pub/demos/party
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.4.1 When and Where are Demo Parties held?
Much to the chagrin of North American 'sceners, most demo compos are
held overseas, in Europe. Only one recurring demo party, NAID, is held
in North America (Montreal, Quebec, Canada).
Some Demo compos are held every year at roughly the same time:
Assembly: August
The Party: Christmas
The Gathering: Easter
NAID: end of school (May/June)
aschlud@autelca.ascom.ch (Denis Schluchter) was nice enough to write up
this schedule for the FAQ:
DEMO EVENTS '95:
Bizarre 9/10 September Etten-Leur, Holland
Wired 3/4/5 November Mons, Belgium
The Party Winter
DEMO EVENTS '96:
The Partyplaces may change! (I took those from last year ...)
X Spring Utrecht, Holland
The Gathering
NAiD Canada
Abduction
Somewhere in Holland Summer Roosendaal, Holland
Juhla Iisalmi, Finland
Bushparty
The Summer Encounter Denmark
Assembly Helsinki, Finland
Gasp Montpellier, France
Wired Fall Mons, Belgium
The Party Winter
Other than this list, you can find more demo-related events at
http://www.cdrom.com/pub/demos/hornet/html/demo_events.html
which lists many other WWW pages dedicated to demo parties and demo
compos.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.4.2 How are Demo Compos judged?
Good question. First, a point system has to be agreed on. There
are many ways of doing this; for example, at NAID'95, each demo
was given up to 5 points for graphics, programming, music, and
overall design. In this case, the demo with the highest total
point value won, the 2nd higest came in 2nd, etc. Second, if there
are way too many entries, all entries go through a preselection
process, where an informal vote disqualifies substandard entries.
(This step only applys to compos with a judging panel; see below.)
Now, who actually *does* the judging? Usually, there are two
different methods: A public vote, and a juding panel.
Public Vote: The people attending the compo vote on the demos shown.
Pros: The public can't complain about the judging, since
they were the ones who voted.
Cons: The public is usually way off. While the crowd
consists of true professional programmers, musicians,
and artists, they usually vote highest for demos
that have "flash" and "pizazz", ignoring the actual
quality or design (or lack thereof).
Judging Panel: A panel is created, usually with a cross section
of programmers, musicians, and graphicians. The
panel can not have anyone in it that's involved in
some way with the demos being voted upon.
Pros: The judging is usually fair.
Cons: The public usually disagrees with some of the
judge's decisions, especially during the preselection
process.
Please note that any of these methods is not necessarily better than
any other. Sometimes they're combined in some way, like NAID'95,
where there was a public vote that determined who got the "public
favorite prize", and a judging panel, who determined the "offical"
1st-10th place order and top three prizes.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.5 What are some of the more interesting quotes said in the demoscene?
Trixter maintains (more or less :-) a list of interesting things
heard in the PC demo scene. You can get this list from
http://www.mcs.com/~trixter/docs/demoquot.txt
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.6 What are some of the hidden parts in demos?
Phoenix / KFMF (vossa@rpi.edu) has compiled a list of hidden parts
in demos. For the most recent version of the list, request it from
Phoenix directly, or view it on the WWW at
http://www.rpi.edu/~vossa/secret.txt.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.7 What's a diskmag?
A diskmag is an electronic magazine or newsletter that is distributed
on a semi-regular basis. It usually has demoscene news, reviews,
party reports, and general rambling. :-)
You can find many diskmags at ftp://ftp.cdrom.com/pub/demos/mags
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.8 What's a musicdisk?
A musicdisk is a collection of songs put out by a single music or
demo group (or, in rare cases, multiple groups--see the multi-group
musicdisks Chromatiks and Epidemic, for example) or musician whose
distribution medium is a single diskette. A musicdisk has a custom
player built just for the musicdisk--it plays only the songs on
the disk, and usually has a nice graphical interface or specific
information from the composers on their songs. Musicdisks are put
out whenever the group feels it has enough music to put in them,
so they're released irregularly and infrequently.
You can find many musicdisks at ftp://ftp.cdrom.com/pub/demos/music/disks
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.8.1 How is a musicdisk different from a music pack?
A music pack is very similar to a musicdisk, but with some important
differences. Here's a list of how music packs are different than
musicdisks:
- Music packs are usually released from musicians or music
groups only (groups who only do MOD/S3M-like music).
- Music packs are usually released on a regular basis, like
once a month.
- Music packs have no custom player/interface (some include
Future Crew's MDP player, however, which is a generic player
that can have its menu customized).
The point is that, traditionally, music disks fit onto a single
disk, as per the Amiga or C64. So, ultimately, if it doesn't fit
on a disk, it's generally not proper to call it a musicdisk.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.9 How can I create or join a demo group?
Advertise. Posting a message on your local demo-oriented BBS or
on comp.sys.ibm.pc.demos is probably a good way to start. You can
also talk to anyone on the usual IRC channels (see FAQ 3.1), or
search demogroup's WWW pages (see FAQ 3.2). You could even contact
individual groups directly through email.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5.0 Why aren't there any Windows/Windows 95 demos?
Probably for the simple fact that Windows does several things to
restrict the typical democoder, including inhibit system
performance, and restrict direct access to hardware. These
limitations have workarounds, but it's so much easier to just dive
in under DOS with assembly language that nobody wants to make one.
Windows is generally looked down upon in the demo community, because
of it's slow speed and huge size; many joke that it's one of the
lamest demos ever written. :-)
Windows 95, on the other hand, has some possibilities for being a
demo platform, with it's DirectX API. DirectX has direct interfaces
to hardware--DirectSound, DirectDraw, etc.--so it's possible to
circumvent the limitations listed above. Still, the API is
overhead, so by default it can't be as fast as raw DOS, and as such
is still looked down upon by democoders.
If you're interested in coding demos for Windows 95, you can order
the Win95 Game SDK directly from Microsoft completely free-of-charge.
You just need to tell them that you are "porting your games which
you have under development to the Windows 95 DirectX platform".
The Game SDK (GDK) includes DirectDraw, DirectSound and DirectPlay.
But in order to fully develop Windows 95 apps, you might need the
Win32 SDK too, which comes with the "Microsoft Developer Network
(MSDN) level 2". This costs around $500US per year and it includes
all MS' SDKs (about 30 CDs), and it comes with a quarterly update
service too.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5.0.1 Why aren't there any Linux demos?
Considering that Linux is a fast 32-bit multitasking operating
system and that good optimizing compilers are free under Linux,
you might think that many demos exist for it. But while some screen
savers that use Linux's SVGAlib might be considered demos, no "true"
demos have been written for it yet (although many claim they are
porting their demos over to it).
One possible reason for this is that the multitasking nature of
the OS means that the CPU cannot be dedicated to any one critical
task--for example, the inner loop of a texture-mapping engine.
Another possible explanation is that even if dedicated CPU attention
was possible, it is difficult to do so without writing a device
driver, something that many democoders are not willing to do.
Still, it seems a bit more likely that demos will be written for
Linux before they are written for Windows, if only for the fact
that Linux is free and fast.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5.0.2 Are there any demos that run on PC platforms that aren't DOS-based?
Only one that I know of: An OS/2 demo has been written for OS 3.0
(OS/2 Warp, with MMPM/2 extentions installed) called Peripheral
Evolution OS/2 by Ethos. It also comes with its own source code.
There is a ongoing project to create an operating system exclusively
for writing demos, called the DemOS project. You can find information
about it at three possible places:
http://www.cdrom.com/pub/demos/info/DemOS/
http://www.ifi.uio.no/~dag-erli/demos/
http://www.skolesjefen.oslo.no/skole/persbraten/hjemmesider/demos/
The first URL listed (cdrom.com) is the fastest for people in North
America.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5.1 I don't own a PC. Are demos written for other computers?
Several, actually. Demos didn't originate on the PC; they've been
around for over a decade, having grown from the cracktros that
software pirates used to tack onto their releases. Nowadays,
demogroups are not related to cracking groups anymore; in fact,
most PC demogroups were never related to a cracking group.
Demos exist/have existed for the following platforms (listed in
chronological order):
Apple ][ (in a cracktro form only, to my knowledge)
C64 (where the demo scene was truly born)
Commodore Plus/4
Spectrum 128
Apple ][gs
Atari ST
Amiga (where the demo scene flourished into new territory)
Atari Falcon
Macintosh
IBM PC
Arcon Archimedes (This is a RISC PC. There have been demos for
that computer at the Symposium Party held in Hamburg, Germany.)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5.2 What's the fastest PutPixel?
There are two basic version: One that uses a lookup table, and
one that doesn't. The lookup-table version is the fastest.
Non-lookup-table version:
Procedure PutPixel(X,Y:Word; c:Byte); Assembler;
Asm
mov AX,0A000h
mov ES,AX
mov AH,Byte Ptr Y
mov BX,X
add BX,AX
ShR AX,2
add BX,AX
mov AL,c
mov ES:[BX],AL
End;
Lookup table version:
Var
lut : Array[0..199] Of Word;
Procedure PutPixel_LUT(X, Y : Word; C : Byte); Assembler;
{ code from Jannie Hanekom }
{ optimized by Andreas Jung }
Asm
mov BX, Y
add BX, BX
mov AX, 0A000h
mov ES, AX
mov BX, Word Ptr lut[BX] { Note: BX not changed within 2 cycles }
mov CX, X
add BX, CX
mov AL, C
mov Byte Ptr ES:[BX], AL { Again 1 cycle before memory move }
End;
Just make sure you fill the lookup table before you use the procedure,
with something like "for i := 0 To 199 Do lut[i] := i*320"
Kneebiter has provided 386 protected-mode equivalents:
;eax - color
;edi - y
;ebx - x
;
; The fastest (?!?) non-table version
shl edi, 6 ; ebx *= 64 3 clocks
lea edi, [edi*4+edi] ; ebx *= 5 (64*5 = 320) 1 clock
mov [edi+ebx+0a0000h], al ; memory ref
; The fastest (?!?) table version
mov edi, [edi*4 + table] ; memory ref
mov [edi+ebx+0a0000h], al ; memory ref
What many people don't realize is that the *real* fastest putpixel
is the one inside your own code, polyfiller, or whatever, because
the time it takes to push the registers on the stack and call the
function takes *more* time than actually plotting the pixel! So,
try to incorporate these methods into your own program instead of
making a function you call out for.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+Contact Information+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
10.0 Who's contributed to this FAQ?
The creator was Houman Ghahremanlou, who wrote answers to questions
1.0 to 3.0, with some small help from Trixter / Hornet's PC Demos
Explained page. Trixter then reformatted the FAQ, added the rest,
became the maintainer, and continues to add to it. Houman maintains
the HTML version.
Once released, many people submitted some contributions. Trixter
and Houman would like to thank the following people for submitting
to the FAQ:
Diogo 'Spellcaster' Andrade <l42686@alfa.ist.utl.pt>
Heikki Ylinen (flap / Capacala) <flap@flap.pp.fi>
Lee Chun Kwok <h9504367@hkueee.hku.hk>
Luca D'Ambros <micro@comedia.it>
a.k.a. jarno heikkinen <jmag@cOmPLeX.math.jyu.fi>
AndrΘas Kⁿhne <andreas.kuhne@mailbox.swipnet.se>
Anssi.Saari@lmf.eua.ericsson.se (Anssi Saari)
Ben Shelton <diablo@wcarchive.cdrom.com>
Blake Kadatz <blake_kadatz@mindlink.bc.ca>
Canard@ax.com (Canard)
Captain Hook / THI <pjscorreia@telepac.pt>
Charles Scheffold <daredevi@amanda.dorsai.org>
Chris Hargrove <kiwidog@vt.edu>
Christopher Mann <r3cgm@cdrom.com>
Cobra@aloha.com (cobra)
Dan Wright... enough said. :)
Gary D Stowasser <gary+@andrew.cmu.edu>
Grave Digger / Hornet <gd@ftp.cdrom.com>
Heikki Ylinen <flap@flap.pp.fi>
Houman Ghahremanlou <ghahrema@bowler.dacc.wisc.edu>
Jason Maas <clueless@WPI.EDU>
Jason Nunn <root@superr.topend.com.au>
Jordan Phillips <jordanp@cent.com>
Jyrki Saarinen <jsaarinen@kone.fipnet.fi>
Kenneth Foo Chuan Khit <kenfoo@techm.pl.my>
Kilian Hekhuis <jal@hacom.nl>
Kim Davies <kimba@it.com.au>
Lars Troen <Lars.Troen@colargol.idb.hist.no>
Lewis Berrie <ljb@spclmway.demon.co.uk>
Mark Edward Hardwidge <hardwidg@tvd0002.urh.uiuc.edu>
Niklas Kring
Paul Hsieh <qed@xenon.chromatic.com>
Peter Kendell <P.Kendell@bra0119.wins.icl.co.uk>
Phil Jones <fil@muon.demon.co.uk>
Quantum Porcupine <jshagam@nmsu.edu>
Rene Vinding Christensen <rvc@vision.auc.dk>
Sam <Samuel.Marshall@durham.ac.uk>
Samuli Syvahuoko <gore@clinet.fi>
Sietze Dijkstra <sdijkstr@cs.ruu.nl>
Sleeping Dog / The Natives
Snowman / Hornet <r3cgm@ftp.cdrom.com>
Stephen Takacs <takacs@eng.usf.edu>
T H Pineapple <thp@cix.compulink.co.uk>
THE ROPESTER <mjfi3sjr@umist.ac.uk>
Tero Pulkkinen <terop@kotka.cs.tut.fi>
Todd M Zimnoch <tz26+@andrew.cmu.edu>
Toni Lindroos <tonilind@netti.fi>
XtaC <jwalther@smartt.com (XtaC)>
ac@psycfrnd.interaccess.com (Andrew Carlson)
adia@egnatia.ee.auth.gr (Alejandros Diamandidis)
alang012 <dsteg838@student2.uwsp.edu>
andreas.kuhne@mailbox.swipnet.se (AndrΘas Kⁿhne)
aschlud@autelca.ascom.ch (Denis Schluchter)
azure@people-s.people.de (Tim Boescke)
beren@infolink.no (Niklas Saers)
blake@widomaker.com (Blake Patterson)
bq689@freenet.carleton.ca (Anis Ahmad)
chaos@wiloyee.shnet.org
chuck@freeside.fc.net (Chuck Walbourn)
dagsm@infolink.no (Finrod / Ewox)
daredevi@dorsai.org (Charles Scheffold)
davidm@them.com (David Mandala)
dennisc@community.net (dennis courtney)
devries@cam.org (Mike DeVries)
dhk_fj@p10.nix.fido.teuto.de (Christian Kram)
dmw@gate.net (Out There!)
dominion@ripco.com (Michael Chisari)
fischerj@Informatik.TU-Muenchen.DE (Juergen Fischer)
fmah@morse.ecn.purdue.edu (Frederick Y Mah)
fuzz@ionline.net (Arlo Gingerich)
gerald@parker.EECS.Berkeley.EDU (THE Gerald)
grosje_s@epita.fr (Le Fongus jaune)
gruel@hondo.cyberverse.com (Nick)
gt4148b@prism.gatech.edu (Stephen Carter Morgan)
habets@worldaccess.nl
j.fenkes@public.ndh.com (Joachim Fenkes)
jarevalo@sip.es
jeanmarc.leang@ping.be (marmelade)
jim@kd3bj.ampr.org (Jim Paris)
jisidoro@acs.bu.edu
joemess@mail.utexas.edu (helpless boy)
jroth@coyote.csusm.edu (Jesse Rothenberg)
jsno@amigar.apana.org.au
jtavn@netcom.com (Jeremy Tavan)
kiwidog@mail.vt.edu (Chris Hargrove)
larsen@lal.cs.utah.edu (Steve Larsen)
lodder@cuci.nl
matthewp@netcom.com (Matt Pritchard)
millen3@alum01.its.rpi.edu (Neal W. Miller)
mrp@spartan.pei.edu (Mr.P)
mrytkola@tor.abo.fi (Markus Rytk|l{ INF)
mystical@inet.uni-c.dk (Asbjorn Andersen)
page@ie2.u-psud.fr
perseus@xs1.xs4all.nl
plexus@plexus.seanet.com (James B. Johnson)
ppsloan@buzzworm.cs.utah.edu (Peter Sloan)
prsam1@MFS02.cc.monash.edu.au (Paul Sampson)
rawvibes@ix.netcom.com
rbarnhar@freenet.niagara.com (Robert Barnhardt)
rbeath@julian.uwo.ca (Stephen Beath)
rcskb@minyos.xx.rmit.EDU.AU (Kendall Bennett)
rimbo@ccwf.cc.utexas.edu
rob@span.com
rolando@knoware.nl (Scout/SuccesS)
root <root@trixter.pr.mcs.net>
rvc@vision.auc.dk
ryan.mahoney@tssbbs.com (Ryan Mahoney)
s106275@cs.tut.fi (Anssi Saari)
sci-slb@groper.jcu.edu.au (Stephen Banhuk)
slmyv@paradise.declab.usu.edu (Denys Larry)
src@cray.tuug.utu.fi (Saracen / EMF)
sschaem@teleport.com (Stephan Schaem)
sshah@intranet.ca
tedjones@voyager.co.nz (Oliver Jones)
then@superpallo.cs.hut.fi (Tomi Holger Engdahl)
trixter@mcs.com (Trixter / Hornet)
tst@dcs.ed.ac.uk (Tristan Tarrant)
tw@wile.thetech.org (Tod Weitzel)
vossa@magritte.its.rpi.edu (xproject)
whippet1@quiknet.com (Scott Tyson)
yvon@sept.fr (christophe yvon)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
10.0.1 How can I contact you guys to submit something?
We need help to make this FAQ bigger and better, so please mail
us your suggestions!
Houman: ghahrema@bowler.dacc.wisc.edu
Trixter: trixter@mcs.com
Trixter is the primary maintainer, so email him first.
Houman maintains the HTML version of the FAQ, so email him with
HTML FAQ questions/corrections.
Some things we are looking for currently:
- Info on buying either the ASM'94 or ASM'95 CDROMs.
- Info on buying the TP'95 CDROM.
- Info on buying ANY demo-related CDROM.
-----
Note from Houman: I did this FAQ for the comp.sys.ibm.pc.demos
newsgroup. I was getting tired of huge threads being created that
could have been avoided most of the time if general help was
available to public.
I accept any help, critiques, or anything else.
I would like to thank Jim Leonard (Trixter/Hornet), for without
his special help and documents, I would have not been able to create
this FAQ.
-----
Note from Trixter: I formatted all the ftp addresses as URL's, so
if you see something like "ftp://ftp.cdrom.com/pub/demos", it means
you should ftp to the site "ftp.cdrom.com" and then switch to the
"/pub/demos" directory.
Respect goes to Dan Wright, who started the whole "demos on the
Internet" thing in 1992. Of course, thanks go to Houman for starting
this thing; greets also to Snowman, for being a good friend and
bringing me back into the scene when I was going to quit. Finally,
thanks to all past and present Hornet Core and Family members, for
having me.
-----
Both of us: If you have any questions, or want to help us make
this FAQ bigger and better, please email us:
Houman Ghahremanlou
ghahrema@bowler.dacc.wisc.edu
http://www.dacc.wisc.edu/~ghahrema
Trixter / Hornet
trixter@mcs.com
http://www.mcs.com/~trixter/html/home.html
Thank you!